package cn.tedu.generics;
/**本类用于泛型的优点测试2*/
public class TestGenerics2 {
    public static void main(String[] args) {
        Integer[] a={1,2,3,4,5,6,7,8,9,10};
        print(a);

        String[] b={"大哥","二哥","三哥","四哥","五哥","六哥","七弟",};
        print(b);

        Double[] c={6.0,6.6,6.66,6.666,6.6666};
        print(c);
    }
    /**1.泛型可以写出更加通用的方法,E便是Element元素
     * 2.泛型的方法要求:
     * 必须两处同时出现:一个是方法参数类型是泛型
     * 另一个是返回值类型前的泛型<E>,表示这是一个泛型方法*/
    private static<E>void print(E[] s) {
        for (E m:s){
            System.out.println(m);
        }
        /**高效for循环/增强for循环/foreach循环
         * 使用场景:只需要对数据从头到尾的遍历一次
         * 好处:比普通for循环语法简单,效率高
         * 缺点:没办法按照下标来操作元素,只能从头到尾的遍历
         * 语法:for(2 3:1){循环体}
         * 1指的是要遍历的数据
         * 2指的是本轮遍历得到的具体元素的类型
         * 3指的是遍历的到的元素的名字*/
//    private static void print(Integer[] a) {
////        for (int i=0;i<a.length;i++){
////            System.out.println(a[i]);//根据下表获取数组的具体元素
////        }
//        for(Integer g:a){
//            System.out.println(g);
//        }
//    }
//    private static void print(String[] s) {
//        for (String m:s){
//            System.out.println(m);
//        }
//
//    }
//    private static void print(Double[] d) {
//        for (Double l:d){
//            System.out.println(l);
//        }
    }
}
